package Creche.Admin;

import java.io.Serializable;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;

@SuppressWarnings("serial")
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Administrateur implements Serializable {
	 
	@PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;
	
	private boolean statut;
	private String email;
    private String identifiant;
    private String motDePasse;
    private String ville;
 
    /**
     * Constructeur de la class Administrateur
     * @param email
     */
    public Administrateur(String email) {
    	this.email = email;
    }
    
    
    /**
	 * Enregistre la clé primaire d'un administrateur
	 * @param email
	 */
	public void setKey(String email) {
		key = KeyFactory.createKey(Administrateur.class.getSimpleName(), email);
	}
	
	
    /**
     * @return la clé primaire d'un administrateur dans la bd
     */
    public Key getKey() {
		return key;
	}
    
    
    /**
     * Enregistre le statut d'un administrateur
     * (super admin ou non)
     * @param statut
     */
    public void setStatut(boolean statut) {
    	this.statut = statut;
    }
    
    
    /**
     * @return le statut d'un administrateur
     */
    public boolean getStatut() {
    	return statut;
    }
    
    
    /**
     * Enregistre l'email d'un administrateur
     * @param email
     */
    public void setEmail(String email) {
    	this.email = email;
    }
    
    
    /**
     * @return l'email d'un administrateur
     */
    public String getEmail() {
    	return email;
    }
    
    
    /**
     * Enregistre l'identifiant d'un administrateur
     * @param identifiant
     */
    public void setIdentifiant(String identifiant) {
    	this.identifiant = identifiant;
    }
    
    
    /**
     * @return l'identifiant d'un administrateur
     */
    public String getIdentifiant() {
    	return identifiant;
    }
    
 
    /**
     * Enregistre le mot de passe d'un administrateur
     * @param motDePasse
     */
    public void setMotDePasse(String motDePasse) {
    	this.motDePasse = motDePasse;
    }
    
    
    /**
     * @return le mot de passe d'un administrateur
     */
    public String getMotDePasse() {
    	return motDePasse;
    }
    
    
    /**
     * Enregistre la ville q'un administrateur pourra modifier
     * @param ville
     */
    public void setVille(String ville) {
    	this.ville = ville;
    }
    
    
    /**
     * @return la ville q'un administrateur pourra modifier
     */
    public String getVille() {
    	return ville;
    }
}
